<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Aria: ArLineFinder Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Aria
   &#160;<span id="projectnumber">2.9.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li><a href="files.html"><span>Files</span></a></li>
      <li><a href="examples.html"><span>Examples</span></a></li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('classArLineFinder.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classArLineFinder-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">ArLineFinder Class Reference<div class="ingroups"><a class="el" href="group__OptionalClasses.html">Optional Classes</a> &#124; <a class="el" href="group__UtilityClasses.html">Utility Classes</a></div></div>  </div>
</div><!--header-->
<div class="contents">

<p>This class finds lines out of any range device with raw readings (lasers for instance)  
 <a href="classArLineFinder.html#details">More...</a></p>

<p><code>#include &lt;ArLineFinder.h&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a5a780895d188337a9fdf83d1c1489f10"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a5a780895d188337a9fdf83d1c1489f10"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a5a780895d188337a9fdf83d1c1489f10">addToConfig</a> (<a class="el" href="classArConfig.html">ArConfig</a> *config, const char *section)</td></tr>
<tr class="memdesc:a5a780895d188337a9fdf83d1c1489f10"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add this <a class="el" href="classArLineFinder.html" title="This class finds lines out of any range device with raw readings (lasers for instance) ...">ArLineFinder</a>'s parameters to the given <a class="el" href="classArConfig.html" title="Stores configuration information which may be read to and from files or other sources. ">ArConfig</a> object. <br /></td></tr>
<tr class="separator:a5a780895d188337a9fdf83d1c1489f10"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ba4057c9cb9ff4cf70ba0fba08dbdbf"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4ba4057c9cb9ff4cf70ba0fba08dbdbf"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a4ba4057c9cb9ff4cf70ba0fba08dbdbf">ArLineFinder</a> (<a class="el" href="classArRangeDevice.html">ArRangeDevice</a> *dev)</td></tr>
<tr class="memdesc:a4ba4057c9cb9ff4cf70ba0fba08dbdbf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructor. <br /></td></tr>
<tr class="separator:a4ba4057c9cb9ff4cf70ba0fba08dbdbf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2215f0f36e3f166a0e2905717654c0b0"><td class="memItemLeft" align="right" valign="top">std::map&lt; int, <a class="el" href="classArLineFinderSegment.html">ArLineFinderSegment</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a2215f0f36e3f166a0e2905717654c0b0">getLines</a> (void)</td></tr>
<tr class="memdesc:a2215f0f36e3f166a0e2905717654c0b0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the lines and returns a pointer to <a class="el" href="classArLineFinder.html" title="This class finds lines out of any range device with raw readings (lasers for instance) ...">ArLineFinder</a>'s map of them.  <a href="#a2215f0f36e3f166a0e2905717654c0b0">More...</a><br /></td></tr>
<tr class="separator:a2215f0f36e3f166a0e2905717654c0b0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace8edfb7fe1305cf1f0ae5bd45ba0bfe"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ace8edfb7fe1305cf1f0ae5bd45ba0bfe"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#ace8edfb7fe1305cf1f0ae5bd45ba0bfe">getLinesAndSaveThem</a> (void)</td></tr>
<tr class="memdesc:ace8edfb7fe1305cf1f0ae5bd45ba0bfe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the lines, then prints them. <br /></td></tr>
<tr class="separator:ace8edfb7fe1305cf1f0ae5bd45ba0bfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1119f9d010ff5b696ad244d7e37201ce"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a1119f9d010ff5b696ad244d7e37201ce"></a>
std::set&lt; <a class="el" href="classArLineFinderSegment.html">ArLineFinderSegment</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a1119f9d010ff5b696ad244d7e37201ce">getLinesAsSet</a> ()</td></tr>
<tr class="memdesc:a1119f9d010ff5b696ad244d7e37201ce"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the lines, then copies <b>pointers</b> to them them into a new set. <br /></td></tr>
<tr class="separator:a1119f9d010ff5b696ad244d7e37201ce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78ce65f47b4c01649b714a59aa9c3e70"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78ce65f47b4c01649b714a59aa9c3e70"></a>
<a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a78ce65f47b4c01649b714a59aa9c3e70">getLinesTakenPose</a> (void)</td></tr>
<tr class="memdesc:a78ce65f47b4c01649b714a59aa9c3e70"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the robot pose at which the data from the range device (provided in constructor) was received. <br /></td></tr>
<tr class="separator:a78ce65f47b4c01649b714a59aa9c3e70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0bd21d67fea304323cdaa9d16683ea4"><td class="memItemLeft" align="right" valign="top">std::map&lt; int, <a class="el" href="classArPose.html">ArPose</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#ab0bd21d67fea304323cdaa9d16683ea4">getNonLinePoints</a> (void)</td></tr>
<tr class="memdesc:ab0bd21d67fea304323cdaa9d16683ea4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the lines, but then returns a pointer to <a class="el" href="classArLineFinder.html" title="This class finds lines out of any range device with raw readings (lasers for instance) ...">ArLineFinder</a>'s map of the points that AREN'T in lines.  <a href="#ab0bd21d67fea304323cdaa9d16683ea4">More...</a><br /></td></tr>
<tr class="separator:ab0bd21d67fea304323cdaa9d16683ea4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4478cfa23f5038869d6f91754d26afc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae4478cfa23f5038869d6f91754d26afc"></a>
std::set&lt; <a class="el" href="classArPose.html">ArPose</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#ae4478cfa23f5038869d6f91754d26afc">getNonLinePointsAsSet</a> ()</td></tr>
<tr class="memdesc:ae4478cfa23f5038869d6f91754d26afc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Finds the lines, and then copies the points that AREN'T in the lines into a new set. <br /></td></tr>
<tr class="separator:ae4478cfa23f5038869d6f91754d26afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c5f3e53b9675c8aca9f3fc55e35c225"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a8c5f3e53b9675c8aca9f3fc55e35c225"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a8c5f3e53b9675c8aca9f3fc55e35c225">getVerbose</a> (void)</td></tr>
<tr class="memdesc:a8c5f3e53b9675c8aca9f3fc55e35c225"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to print verbose information about line decisions. <br /></td></tr>
<tr class="separator:a8c5f3e53b9675c8aca9f3fc55e35c225"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f35483f773d1a7c7d1b2a3187813f5c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a9f35483f773d1a7c7d1b2a3187813f5c">saveLast</a> (void)</td></tr>
<tr class="memdesc:a9f35483f773d1a7c7d1b2a3187813f5c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Logs all the points and lines from the last getLines.  <a href="#a9f35483f773d1a7c7d1b2a3187813f5c">More...</a><br /></td></tr>
<tr class="separator:a9f35483f773d1a7c7d1b2a3187813f5c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d16a8574fdec219d84e2b9950f64eb8"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0d16a8574fdec219d84e2b9950f64eb8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a0d16a8574fdec219d84e2b9950f64eb8">setLineCombiningParams</a> (int angleTol=30, int linesCloseEnough=75)</td></tr>
<tr class="memdesc:a0d16a8574fdec219d84e2b9950f64eb8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets some parameters for combining two possible lines into one line. <br /></td></tr>
<tr class="separator:a0d16a8574fdec219d84e2b9950f64eb8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad678a82c38151206c3ec9e81205a9a2c"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad678a82c38151206c3ec9e81205a9a2c"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#ad678a82c38151206c3ec9e81205a9a2c">setLineCreationParams</a> (int minLineLen=40, int minLinePoints=2)</td></tr>
<tr class="memdesc:ad678a82c38151206c3ec9e81205a9a2c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets some parameters for line creation. <br /></td></tr>
<tr class="separator:ad678a82c38151206c3ec9e81205a9a2c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bec25846008ec5f0ba26b6386ffa8a0"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3bec25846008ec5f0ba26b6386ffa8a0"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a3bec25846008ec5f0ba26b6386ffa8a0">setLineFilteringParams</a> (int minPointsInLine=3, int minLineLength=75)</td></tr>
<tr class="memdesc:a3bec25846008ec5f0ba26b6386ffa8a0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Filter out lines based on line length or number of points in the line. <br /></td></tr>
<tr class="separator:a3bec25846008ec5f0ba26b6386ffa8a0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a78772bf45a900d845845890fc606c5b4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a78772bf45a900d845845890fc606c5b4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a78772bf45a900d845845890fc606c5b4">setLineValidParams</a> (int maxDistFromLine=30, int maxAveDistFromLine=20)</td></tr>
<tr class="memdesc:a78772bf45a900d845845890fc606c5b4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Don't let lines happen that have points not close to it. <br /></td></tr>
<tr class="separator:a78772bf45a900d845845890fc606c5b4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a593452d40024d177170b2227d8275ac1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a593452d40024d177170b2227d8275ac1">setMaxDistBetweenPoints</a> (int maxDistBetweenPoints=0)</td></tr>
<tr class="memdesc:a593452d40024d177170b2227d8275ac1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a maximum distance for points to be included in the same line.  <a href="#a593452d40024d177170b2227d8275ac1">More...</a><br /></td></tr>
<tr class="separator:a593452d40024d177170b2227d8275ac1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a58b38357803dc7047cd13b5e11985706"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a58b38357803dc7047cd13b5e11985706"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#a58b38357803dc7047cd13b5e11985706">setVerbose</a> (bool verbose)</td></tr>
<tr class="memdesc:a58b38357803dc7047cd13b5e11985706"><td class="mdescLeft">&#160;</td><td class="mdescRight">Whether to print verbose information about line decisions. <br /></td></tr>
<tr class="separator:a58b38357803dc7047cd13b5e11985706"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeaa5f8f8ea66a14b377d1801e79f14ed"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeaa5f8f8ea66a14b377d1801e79f14ed"></a>
virtual&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classArLineFinder.html#aeaa5f8f8ea66a14b377d1801e79f14ed">~ArLineFinder</a> ()</td></tr>
<tr class="memdesc:aeaa5f8f8ea66a14b377d1801e79f14ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:aeaa5f8f8ea66a14b377d1801e79f14ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a7e36873083f436660e1e2fd2296c0981"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e36873083f436660e1e2fd2296c0981"></a>
<a class="el" href="classArLineFinderSegment.html">ArLineFinderSegment</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>averageSegments</b> (<a class="el" href="classArLineFinderSegment.html">ArLineFinderSegment</a> *line1, <a class="el" href="classArLineFinderSegment.html">ArLineFinderSegment</a> *line2)</td></tr>
<tr class="separator:a7e36873083f436660e1e2fd2296c0981"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa71ebfda4a6b15239b2ab0d668b1484f"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa71ebfda4a6b15239b2ab0d668b1484f"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>combineLines</b> ()</td></tr>
<tr class="separator:aa71ebfda4a6b15239b2ab0d668b1484f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab7ce5301f46fd54874bdebd9f1bc44d5"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ab7ce5301f46fd54874bdebd9f1bc44d5"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>fillPointsFromLaser</b> (void)</td></tr>
<tr class="separator:ab7ce5301f46fd54874bdebd9f1bc44d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92c83ba32c85b01b4b1bf168dfcbb6e4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a92c83ba32c85b01b4b1bf168dfcbb6e4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>filterLines</b> ()</td></tr>
<tr class="separator:a92c83ba32c85b01b4b1bf168dfcbb6e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae5c5a91cc25e10bab585be75e1dd96b6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae5c5a91cc25e10bab585be75e1dd96b6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>findLines</b> (void)</td></tr>
<tr class="separator:ae5c5a91cc25e10bab585be75e1dd96b6"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:aa6127dfdb4bfa1fba3d4702f7adae4e9"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa6127dfdb4bfa1fba3d4702f7adae4e9"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myCombiningAngleTol</b></td></tr>
<tr class="separator:aa6127dfdb4bfa1fba3d4702f7adae4e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3c152cd117a033d3d51fd2c88eaffea"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae3c152cd117a033d3d51fd2c88eaffea"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myCombiningLinesCloseEnough</b></td></tr>
<tr class="separator:ae3c152cd117a033d3d51fd2c88eaffea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe2dfbfc7a011340683186537a2554a3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afe2dfbfc7a011340683186537a2554a3"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myFilteringMinLineLength</b></td></tr>
<tr class="separator:afe2dfbfc7a011340683186537a2554a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd6a30c5223cd8203392be423dc7abf4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acd6a30c5223cd8203392be423dc7abf4"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myFilteringMinPointsInLine</b></td></tr>
<tr class="separator:acd6a30c5223cd8203392be423dc7abf4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ce94fb8ee9001df02483a3860d6e11d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ce94fb8ee9001df02483a3860d6e11d"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myFlipped</b></td></tr>
<tr class="separator:a6ce94fb8ee9001df02483a3860d6e11d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a489ae6de7bf9442615643a43c5994944"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a489ae6de7bf9442615643a43c5994944"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myFlippedFound</b></td></tr>
<tr class="separator:a489ae6de7bf9442615643a43c5994944"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afcf4bddce4b4ee3c7c0eb495506500f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afcf4bddce4b4ee3c7c0eb495506500f6"></a>
std::map&lt; int, <a class="el" href="classArLineFinderSegment.html">ArLineFinderSegment</a> * &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>myLines</b></td></tr>
<tr class="separator:afcf4bddce4b4ee3c7c0eb495506500f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17982414f391e8801c59ed64b79430e6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a17982414f391e8801c59ed64b79430e6"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myMakingMinLen</b></td></tr>
<tr class="separator:a17982414f391e8801c59ed64b79430e6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4e92133d3463e29dee9e2bb0bf228afc"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4e92133d3463e29dee9e2bb0bf228afc"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myMakingMinPoints</b></td></tr>
<tr class="separator:a4e92133d3463e29dee9e2bb0bf228afc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa99ff6753ccd9a37019f863a5a6ed607"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa99ff6753ccd9a37019f863a5a6ed607"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myMaxDistBetweenPoints</b></td></tr>
<tr class="separator:aa99ff6753ccd9a37019f863a5a6ed607"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90e6a57e542ad3e08d71fa105d712469"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a90e6a57e542ad3e08d71fa105d712469"></a>
std::map&lt; int, <a class="el" href="classArPose.html">ArPose</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>myNonLinePoints</b></td></tr>
<tr class="separator:a90e6a57e542ad3e08d71fa105d712469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2c40cdda737f1eb0a2b030b6ff44ace4"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2c40cdda737f1eb0a2b030b6ff44ace4"></a>
std::map&lt; int, <a class="el" href="classArPose.html">ArPose</a> &gt; *&#160;</td><td class="memItemRight" valign="bottom"><b>myPoints</b></td></tr>
<tr class="separator:a2c40cdda737f1eb0a2b030b6ff44ace4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a435602a084070acd79c9330671b6118d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a435602a084070acd79c9330671b6118d"></a>
<a class="el" href="classArPose.html">ArPose</a>&#160;</td><td class="memItemRight" valign="bottom"><b>myPoseTaken</b></td></tr>
<tr class="separator:a435602a084070acd79c9330671b6118d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4cf31bf5cd2e1552009b1d87b56b49eb"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4cf31bf5cd2e1552009b1d87b56b49eb"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>myPrinting</b></td></tr>
<tr class="separator:a4cf31bf5cd2e1552009b1d87b56b49eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae66bfec2ba628065aee7cc6614272741"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae66bfec2ba628065aee7cc6614272741"></a>
<a class="el" href="classArRangeDevice.html">ArRangeDevice</a> *&#160;</td><td class="memItemRight" valign="bottom"><b>myRangeDevice</b></td></tr>
<tr class="separator:ae66bfec2ba628065aee7cc6614272741"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4acf66a72b4127e50509e53f3a9f2a2a"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4acf66a72b4127e50509e53f3a9f2a2a"></a>
double&#160;</td><td class="memItemRight" valign="bottom"><b>mySinMultiplier</b></td></tr>
<tr class="separator:a4acf66a72b4127e50509e53f3a9f2a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf80ed464bde4308a1dc139fb11d7045"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acf80ed464bde4308a1dc139fb11d7045"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myValidMaxAveFromLine</b></td></tr>
<tr class="separator:acf80ed464bde4308a1dc139fb11d7045"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a124b359bf61b073615f588ebe4e08753"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a124b359bf61b073615f588ebe4e08753"></a>
int&#160;</td><td class="memItemRight" valign="bottom"><b>myValidMaxDistFromLine</b></td></tr>
<tr class="separator:a124b359bf61b073615f588ebe4e08753"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>This class finds lines out of any range device with raw readings (lasers for instance) </p>
<dl><dt><b>Examples: </b></dt><dd><a class="el" href="lineFinderExample_8cpp-example.html#_a21">lineFinderExample.cpp</a>.</dd>
</dl></div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a2215f0f36e3f166a0e2905717654c0b0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt; int, <a class="el" href="classArLineFinderSegment.html">ArLineFinderSegment</a> * &gt; * ArLineFinder::getLines </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Finds the lines and returns a pointer to <a class="el" href="classArLineFinder.html" title="This class finds lines out of any range device with raw readings (lasers for instance) ...">ArLineFinder</a>'s map of them. </p>
<p><b>Java and Python Wrappers:</b> Not available in Java or Python wrapper libraries. </p>

</div>
</div>
<a class="anchor" id="ab0bd21d67fea304323cdaa9d16683ea4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::map&lt; int, <a class="el" href="classArPose.html">ArPose</a> &gt; * ArLineFinder::getNonLinePoints </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Finds the lines, but then returns a pointer to <a class="el" href="classArLineFinder.html" title="This class finds lines out of any range device with raw readings (lasers for instance) ...">ArLineFinder</a>'s map of the points that AREN'T in lines. </p>
<p><b>Java and Python Wrappers:</b> Not available in Java or Python wrapper libraries. </p>

</div>
</div>
<a class="anchor" id="a9f35483f773d1a7c7d1b2a3187813f5c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ArLineFinder::saveLast </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Logs all the points and lines from the last getLines. </p>
<p>Saves the points in the "points" with all the points file in the current directory and saves the "lines" file with the final lines in the current directory. </p>

</div>
</div>
<a class="anchor" id="a593452d40024d177170b2227d8275ac1"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void ArLineFinder::setMaxDistBetweenPoints </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxDistBetweenPoints</em> = <code>0</code></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Sets a maximum distance for points to be included in the same line. </p>
<p>If points are greater than this distance apart, then they will not be considered in the same line. If this value is 0, then there is no maximum-distance condition and points will be considered part of a line no matter how far apart. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following files:<ul>
<li>ArLineFinder.h</li>
<li>ArLineFinder.cpp</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="classArLineFinder.html">ArLineFinder</a></li>
    <li class="footer">Generated by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.11 </li>
  </ul>
</div>
</body>
</html>
